第10回 外部データの読込とパッケージのインストール

プログラミング演習Ⅰ

佐藤 秀保

先週までの内容

  • データフレームを学習

  • 複数の「長さが同じアトミックベクトル」をそれぞれ列としてまとめた表形式データ

#3つの「長さ5のアトミックベクトル」
ID <- c(1, 2, 3, 4, 5)
gender <- c("女", "女", "男", "男", "男")
calorie <- c(2100, 2200, 2300, 2400, 2500)

#data.frame関数でデータフレーム作成
df1 <- data.frame(ID, gender, calorie)
  • では同一の型,列では異なる型
  • データフレームからのデータ抽出例
df1[1, 2] #1さんの性別
df1[1, -2] #1さんの性別以外
df1[c(T, F, F, F, F), c(F, T, F)] #1さんの性別
df1[1,] #1さんについてすべての列(番号,性別,摂取カロリー)

df1[calorie] #摂取カロリーの列をデータフレームとして抽出
df1[[calorie]] #摂取カロリーの列をアトミックベクトルとして抽出

#アクセッサー$を使う
df1$calorie #摂取カロリーの列をアトミックベクトルとして抽出

準備

  1. Posit Cloudへ(日本語訳しないことを推奨)

  2. 作成済みのプロジェクトをクリック

  3. 先週使用のスクリプトをすべて閉じる

  4. 新しくスクリプトを作成

  5. 作成したスクリプトを保存:名前は「lecture10」

  6. ほうきボタンでオブジェクトを削除

授業中のコードはすべてスクリプトに書き実行すること

外部データの読込

  • いままでは,データを直に手打ち
#性別のデータ
gender <- c("女", "女", "男", "男", "男")
  • 通常,既にあるエクセルデータをRに読み込ませ,そのデータを加工・分析
  • 今日は,ACEにアップロードのエクセルファイル「syokudo_data1」を読み込む
    • 朝霞キャンパス食堂の日別売上データ(2025年6月1~17日)

外部データの読込方法(Posit Cloud)

  1. ローカルにエクセルファイルを保存

    • 「syokudo_data1」をACEから適当な場所に保存
  2. エクセルファイルをPosit Cloud上にアップロード

    • Filesペイン「Upload」

    • 「ファイルを選択」

    • 1の保存場所で「syokudo_data1」を選択し「開く」

    • 「OK」

    • Filesペインで「syokudo_data1.xlsx」の存在を確認

  1. アップロードしたエクセルファイルを読込

    • Environmentペイン「Import Dataset」の「From Excel…」
  2. 読込用のパッケージをインストール

    • Install Required Packagesの表示で「Yes」

    • しばしお待ちください(手順4は1度実行すれば今後表示されない)

  1. 読込ファイルの選択と読込

    • 右上の「Browse」から「syokudo_data1」を選択し「Open」

      • どのような形式で読み込まれるかプレビューが表示

      • 右下には手順5をコードで書く場合はどう書くかが記載

    • 右下の「Import」

    • Environmentペインで「syokudo_data1」の存在を確認

外部データの読込方法(デスクトップ版RStudio)

  • Posit Cloudの手順2番目を省略し,他同様

    • インターネットに接続せず完結するため,クラウドにファイルをアップロードする必要がない

「syokudo_data1」がデータフレームとして保存されているので,中身を確認してみよう!

パッケージの意義

  • Rでデフォルトで使用できる関数などは限定的

    • 例:ルートの計算(sqrt関数),絶対値の計算(abs関数)…
  • 外部から必要な関数などを適宜インストールし使えるようにすることが一般的

    • 例:エクセルファイルを読み込む関数(read_excel関数)…
  • 外部にある関数などがまとまったものをパッケージpackageという

パッケージのインストールとライブラリの読込

  • install.packages関数でパッケージをインストールし,
  • その後,library関数で読み込む
    • 例:データ加工系のtidyverseパッケージを導入
install.packages("tidyverse") #ダブルクォーテーション必要
library(tidyverse) #ダブルクォーテーション不要
  • 原則,install.packagesは一度実行すればOK,libraryはR起動の度に要実行

  • libraryを実行せずそのパッケージにある関数を使おうとするとエラー

    • Error in 〇〇: could not find function “△△”

tidyverse

  • データに関する操作を統一的・直感的に行い,tidyな(整然とした)データを作成するツール群

  • Hadley Wickham氏(R神)などが中心となり開発

tidyverseに含まれるパッケージ

  • tidyverseには,複数の小さなパッケージが含まれる

データ加工dplyr    文字操作stringr

データ可視化ggplot2  繰り返し操作purrr

などなど…

  • 本授業では,dplyrやggplot2を扱う

dplyr でぃぷらいあーる

  • データフレーム操作の基本パッケージ

    • 行の抽出:filter関数
    • 列の抽出:select関数
    • 列の追加:mutate関数
    • 列名の変更:rename関数
    • 記述統計量:summarise関数
    • データフレームの結合:〇〇_join関数

などなど…

select関数

  • 列の抽出
  • 文法:select(データフレーム名, 列名1, 列名2, …)
    • syokudo_data1から「日付」,「総売上」の列を抽出
    • df1という名前に保存
df1 <- select(syokudo_data1, 日付, 総売上)

演習

syokudo_data1から「日付」,「総売上」,「販売点数」,「客数」,の列のみを抽出し,df2という名前にデータフレームとして保存せよ.

課題

  • ACEの小テスト:「第10回」

  • ACEのレポート:「第10回」

    • ローカルに保存したlecture10.Rを提出